package com.hwg.emp.service;

import com.hwg.emp.common.dto.KeyQueryDto;
import com.hwg.emp.common.dto.PaginationResult;
import com.hwg.emp.model.DeptMD;

public interface DeptService {

	/**
	 * 根据部门id获取部门对象
	 * @param id 部门id
	 * @return 部门对象
	 * @throws Exception
	 */
	public DeptMD getDeptById(String id)throws Exception;
	
	/**
	 * 增加部门
	 * @param dept 待增加部门对象
	 * @return 是否添加成功
	 * @throws Exception
	 */
	public boolean addDept(DeptMD dept) throws Exception;
	
	/**
	 * 根据部门id删除部门
	 * @param ids 部门id
	 * @return 是否删除成功
	 * @throws Exception
	 */
	public boolean deleteDeptByIds(String...ids) throws Exception;
	
	/**
	 * 修改部门信息
	 * @param dept 部门信息
	 * @return 是否修改成功
	 * @throws Exception
	 */
	public boolean modifyDept(DeptMD dept) throws Exception;
	
	/**
	 * 根据条件查询部门信息
	 * @param dto 查询条件对象
	 * @return 分页查询结果对象
	 * @throws Exception
	 */
	public PaginationResult<DeptMD> getDeptsByKey(KeyQueryDto dto) throws Exception;
     
	/**
	 * 根据部门名获取部门对象
	 * @param name 部门名
	 * @return 部门对象
	 * @throws Exception
	 */
	public DeptMD selectOneDept(String name) throws Exception;
	
	/**
	 * 判断部门名是否存在
	 * @param name 部门名
	 * @return true 存在 否则 不存在
	 * @throws Exception
	 */
	public Boolean existByName(String name) throws Exception;
}
